/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package be.ulb.f203.projet.main;

import be.ulb.f203.projet.vues.GrapheFrame;
import be.ulb.f203.projet.metier.Graphe;
import be.ulb.f203.projet.metier.Noeud;
import be.ulb.f203.projet.tools.ParsingTools;
import be.ulb.f203.projet.vues.GrapheConsole;
import java.io.File;
import java.io.IOException;

/**
 *
 * @author Lam
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        try {
            File file = new File(args[0]);
            Graphe g = ParsingTools.parseFromFile(file);
            Noeud racine = g.find(args[1]);
            if (racine == null) {
                throw new IllegalArgumentException("La racine désignée en paramètre doit faire partie intégrante du graphe.");
            }
            g.setRacine(racine);
            GrapheFrame frame = new GrapheFrame(g);
            GrapheConsole console = new GrapheConsole(g);
        } catch (NumberFormatException e) {
            System.out.println("Le fichier ne respecte pas la format décrit dans l'énoncé");
        } catch (IllegalArgumentException e) {
            System.out.println(e.getMessage());
        } catch (IOException e) {
            System.out.println("Le fichier est introuvable");
        }
    }
}
